var addIndex_E = 1;// 检查增加行的个数

/* 检查表格展示 */

function JianchaTable()
{
	var dataStr = $("#dataStr").val();
	var dataObj = dataStr ? JSON.parse(dataStr) : '';
	/* js增加表头的checbox,为了不使用icheck */
	theadAddCheckox("xk_jc_table");
	jcAddTrEvent(-1);
//	jcDeleteTr();
//	if (dataObj)
//	{
//		editjianchaAdvice(dataObj);
//	}
	// 加载检查申请单
	var url = rootUrl + "/patientcase/getlasthistory";
	var params = {};
	params.aVAA07 = $("#vac01").val();
	params.aVAA01 = $("#vaa01").val();
	params.type = 1;
	if (dataObj)//编辑找最新的
	{
		params.type = 1;
	}
	$.ajax(
	{
	url : url,
	data : params,
	async : true,
	dataType : 'json',
	type : 'post',
	success : function(data)
	{
		if (data && data.list)
		{
			var list = data.list;
			var item = list[0];
			if (item)
			{
				$(".e_linchuangzhenduan").val(item.vbq28);
				$(".e_binglizhaiyao").val(item.vbq29);
				$(".e_fuzhujiancha").val(item.vbq30);
				$(".e_jianchamudi").val(item.vbq27);
			}
		}
	}
	});
}

// 检查新增一行
function jcAddTr()
{
	var params = activeTabParam();
	var jcLastInput = $("#"+params.tableId).find("input[type='text'],textarea");
//	$(jcLastInput).focus();
	var flag = $("#"+params.tableId).find("#jc00002").is(":focus");
	console.log(flag)
	$(jcLastInput).keydown(function(e)
	{
		var that = this;
		if (e.which === 40)
		{
			debugger;
			if($(".select2-container--open").length<1 &&($(".smart_search").length<1))
			{
				
				var next = $(this).parents("tr").next().find(".jiancha_yznr");
				var last = $(this).parents("tbody").find(".jiancha_yznr").last();
				if(((next.val()||next.length<1)&&$(last).val())&&(last.val()&&$(last).val())){
					
					jcAddTrEvent(that);
					next.focus();
				}else {
					next.focus();
				}
			}
		}

	})

}
/* 按钮增加行 */
function jc_addTrBtnEvent()
{
	debugger;
	var params = activeTabParam();
	var jcLastInput = $("#"+params.tableId).find(".jiancha_yznr").last();
	var id = $(jcLastInput).parents("tr").find(".jiancha_yznr").attr("id");
	inputId = $("#" + id).length>0?$("#" + id):-1;
	jcAddTrEvent(inputId);

}
// 检查的新增分离代码
function jcAddTrEvent(inputId)
{
	var params = activeTabParam();
	/**
	 * 增加行模版不能修改为异步！！！
	 */
	laytplUrl_T(myurl + "/module/xk_jc_table.html", {}, function(data, html)
	{
		if (inputId != -1)
		{
			$(inputId).parents("tbody").find("tr:last").after(html);
			
		}
		else
		// 第一行
		{
			$("#"+params.tbodyId).html(html);
		}
		assinGroupNo(params.tableId);
		var yizhuId = $("#"+params.tableId).find(".jiancha_yznr").last().attr("id");
		inputEvent(yizhuId);
		var lastTimeInput = $("#"+params.tableId).find(".layer-date").last();
		setTime(lastTimeInput);// 设置时间
		jcAddTr();// 医嘱内容增加回车事件
		jcHover();// hover事件
		jcpinciChange();// 总量计算事件
		controlTdEvent(params.tableId);// 表格TD控制事件
//		$(".jiancha_zu").last().text(addIndex_E);
		addIndex_E++;// 医嘱内容id自增

		// selected2 美化表格中的select
		$("#" + yizhuId).parents("tbody").find("select").select2();
		//icheck初始化
		iChenckInit($("#"+yizhuId).parents("tr").find('input:eq(0)'));
		isChoseAll(params.tableId);
	});

}
/* 检查双击右边列表新增一行 */

function addJianchaCyxm(obj)
{// 检查 obj是编辑的数据
	var params = activeTabParam();
	var zyHtml = $("#" + obj.id).text().trim();
	var jcLastInput = $("#"+params.tableId).find(".jiancha_yznr");
	var flag;// 是否有空的input
	$(jcLastInput).each(function(index, ele)
	{// 有空的input，追加添加---检查
		if ($(ele).val() == "")
		{
			flag == false;
			$(ele).focus();
			activeAdviceInputId = $(ele).attr("id");//
			$("#" + activeAdviceInputId).val(zyHtml);
			if (obj)
			{
				// obj是编辑的数据和治疗方案过来的数据
				if (obj.type == "zhiliaofangan")
				{
					addJianchaBbxInfo(obj);// 治疗方案添加
				}
				else if (obj.type == "cyxm" || obj.type == "treeTable")// 常用项目和treetable
				// 数据
				{
					addJianchaBbxInfo(obj);
				}
				else
				{
					editJianchaSetInfo(obj);// 编辑
				}
			}

			return false;
		}
		if (index == $(jcLastInput).length - 1)
		{
			flag = true;
		}

	});
	if (flag)
	{
		var that = $(jcLastInput).last().focus();// 获取当前域
		jcAddTrEvent(that);// 增加行----检查
		var addlastInput = $("#"+params.tableId).find(".jiancha_yznr").last();
		activeAdviceInputId = $(addlastInput).attr("id");// 获取增加后的最后一行的遗嘱内容的input
		$("#" + activeAdviceInputId).val(zyHtml);
		if (obj)
		{
			// obj是编辑的数据和治疗方案过来的数据
			if (obj.type == "zhiliaofangan")
			{
				addJianchaBbxInfo(obj);// 治疗方案添加
			}
			else if (obj.type == "cyxm" || obj.type == "treeTable")// 常用项目
			// 和treetable
			// 数据
			{
				addJianchaBbxInfo(obj);
			}
			else
			{
				editJianchaSetInfo(obj);// 编辑
			}
		}
		$(addlastInput).focus();
	}

}
var index111111;
// //双击tree-table-tr的事件处理
function addJianchaBbxInfo(obj)
{
	var curTr=$("#" + activeAdviceInputId).parents("tr");
	curTr.attr(
			{
				'data-info' : JSON.stringify(obj)
			});
	if (obj.type == "zhiliaofangan")
	{
		
		getBci07ToFangan(obj.bef01,curTr);
		
		$("#" + activeAdviceInputId).val(obj.bef07);// 医嘱名称
		$("#" + activeAdviceInputId).next().val(obj.bbx01c);// bbx01
		$("#" + activeAdviceInputId).next().next().val(0);// bby01
		curTr.find('.jiancha_pc').find('option:contains(' + obj.bef16 + ')').attr('selected', true);// 频次
		curTr.find('.jiancha_pc').find('option:contains(' + obj.bef16 + ')').trigger("change");// 频次
		curTr.find('.jiancha_zl').val(obj.bef11);// 总量--
		curTr.find('.jiancha_dw').val(obj.bdg02);// 单位
		curTr.find('.jiancha_ts').val(obj.bef08);// 天数默认为1--
		curTr.find('.jiancha_zxks').find("select option:contains('" + obj.bck03 + "')").attr('selected', true);// 执行科室
		curTr.find('.jiancha_zxks').find("select option:contains('" + obj.bck03 + "')").trigger("change");// 执行科室
		curTr.find('.jiancha_yymd').text();// 用药目的--
		curTr.find('.jiancha_yszt').val(obj.bef15);// 医生嘱托
		curTr.find('.jiancha_zxfa').val(obj.bef22);// 执行方案
		curTr.find('.jiancha_zxxz').find('select').val(obj.bef20 + "").trigger("change");// 执行性质
//		curTr.find('.jiancha_jjxz').find('select').val(obj.vaf31 + "").trigger("change");// 计价性质
		// $("#"+activeAdviceInputId).parents("tr").find('.jiancha_yzbz').val(obj.);//医嘱备注
		// $("#"+activeAdviceInputId).parents("tr").find('.jiancha_gyzx').val(bck01);//给药执行
		// $("#"+activeAdviceInputId).parents("tr").find('.jiancha_kzks').find('select').val();//开嘱科室--
		curTr.find('.jiancha_kzys').val(obj.bce01).trigger("change");// 开嘱医师--
		$(".e_linchuangzhenduan").val(obj.bef25);//临床诊断
		$(".e_fuzhujiancha").val(obj.bef26);//辅助检查
		$(".e_binglizhaiyao").val(obj.bef27);//病例摘要/体格检查
		$(".e_jianchamudi").val(obj.bef28);//检查目的
	}
	else if (obj.type == "cyxm" || obj.type == "treeTable")
	{
		debugger;
		
		$("#" + activeAdviceInputId).val(obj.bbx05);// 医嘱名称
		$("#" + activeAdviceInputId).next().val(obj.bbx01);// bbx01
		$("#" + activeAdviceInputId).next().next().val(0);// bby01
		if(obj.type == "treeTable"){
			curTr.find('.jiancha_dw').val(obj.nunit);// 单位
		}else{
			
			curTr.find('.jiancha_dw').val(obj.bdg02);// 单位
		}
		curTr.find('.jiancha_ts').val(1);// 天数默认为1
		var url = rootUrl + "/clinewadvice/gettreamentoffice";
		var params = {};
		params.BCK01A = bck01;
		params.BBX01 = obj.bbx01;
		$.post(url, params, function(data)
		{
			if (data.list[0])
			{
				var zxksId = data.list[0]["bck01b"];
				var zxksMc = data.list[0]["bck03"];
				curTr.find('.jiancha_zxks').find("select option:contains('" + zxksMc + "')")
						.attr('selected', true);// 诊疗对应的执行科室
				curTr.find('.jiancha_zxks').find("select option:contains('" + zxksMc + "')").trigger("change");// 诊疗对应的执行科室
			}
		});
		// 加载检查项目对应的检查部位
		$.ajax(
		{
		url : rootUrl + "/doctoradvice/hasinspectionbody",
		type : 'post',
		dataType : 'json',
		data :
		{
			"BBX01" : obj.bbx01
		},
		async : false,
		success : function(data1)
		{
			if (data1.result == "Success")
			{
				var list = data1.list;
				if (list && list.length>0)
				{
					laytplUrl(myurl + "/module/jianchabuwei.html", {}, function(data1, html)
					{
						index111111 = layer.open(
						{
						type : 1,
						title : "检查部位",
						area : [
						"60%", "70%"
						],
						shade : 0.1,
						maxmin : true,
						content : html,
						closeBtn : 1,
						cancel:function(){
							clearJcAdvice();
						},
						success : function()
						{
							debugger;
							$("#" + activeAdviceInputId).blur();
							$("#jianchabuwei_div").attr("data-info", obj.bbx05);
							$("#jianchabuwei_cancle").on("click", function()
							{
								layer.close(index111111);
								//清除医嘱内容
								clearJcAdvice();
								
								
								//自动新增行
//								jc_addTrBtnEvent();
							});
							jianchabuwei_gird(list);
						}
						})

					});
				}else{
					var robj = {
							bbx01:obj.bbx01,
							isManualTrigger:false,
							activeAdviceInputId:activeAdviceInputId
					}
					remaindByBbx01(robj);
//					manualTriggerByparam(activeAdviceInputId);
				}
			}
		}
		});
	}

	//关闭搜索框
	closeSelfLayer();
	//手动出发
	adviceCountShow();
	
}
//治疗方案查询医嘱部位医嘱信息
function getBci07ToFangan(bef01,curTr){
	debugger;
	var urlCom = rootUrl+"/basicinformationquery/basequery";
	var params = {params:JSON.stringify({sqlId:10000052,bef01:bef01})};
	$.ajax({
		url:urlCom,
		type: "get",
		data:params,
		dataType:'json',
		success:function(data)
		{
			if(data){
				var temp = data.list;
				if(temp.length>0)
				{
					var arr = [];
					for(var  i =0;i<temp.length;i++){
						var obj={};
						obj.bci06 = temp[i].bef13;
						obj.bci07 = temp[i].bef14;
						arr.push(obj);
					}
					curTr.attr("data-bci07",JSON.stringify(arr));
				}
			}

		}
	})
}

//编辑查询检查医嘱的部位医嘱信息
function getBci07ToEdit(vaf01,curTr){
	debugger;
	var urlCom = rootUrl+"/basicinformationquery/basequery";
	var params = {params:JSON.stringify({sqlId:10000051,vaf01:vaf01})};
	$.ajax({
		url:urlCom,
		type: "get",
		data:params,
		dataType:'json',
		success:function(data)
		{
			if(data){
				var temp = data.list;
				if(temp.length>0)
				{
					var arr = [];
					for(var  i =0;i<temp.length;i++){
						var obj={};
						obj.bci06 = temp[i].vaf14;
						obj.bci07 = temp[i].vaf15;
						arr.push(obj);
					}
					curTr.attr("data-bci07",JSON.stringify(arr));
				}
			}

		}
	})
}


//没有选中检查部位，则清除医嘱内容
function clearJcAdvice(){
	$("#" + activeAdviceInputId).parents("tr").remove();
	jc_addTrBtnEvent();
}


function jianchabuwei_gird(data)
{
	$('#jianchabuwei').GridUnload(); 
	
	$('#jianchabuwei_div').resize(function(){
		$("#jianchabuwei").setGridWidth($("#jianchabuwei_div").width()*1);
	});
	$("#jianchabuwei").jqGrid(
	{
	datatype: "local",
	data : data,
	height : 'auto',
	width : "100%",
	autowidth : true,
	rowNum:data.length,
//	multiboxonly:true,
	colModel : [
	{
	label : '检查部位',
	name : 'bdd02',
	},
	{
	label : '检查部位',
	name : 'bci06',
	},
	{
	label : '检查方法',
	name : 'bci07',
	cellattr:addCellAttr_jc
	},
	{
		label : 'bbc01',
		name : 'bbc01',
		hidden:true
	}
	],
	multiselect : true,
	grouping : true,
	groupingView :
	{
	groupField :
	['bdd02'],
	groupColumnShow : [false,false],
	groupText : ['<label class="label-normal label-spring">{0}</label>'],
	groupCollapse : true,
	},
	loadComplete : function(data)
	{
		for(var i =0;i<data.length;i++)
		{
			$("#jianchabuwei").jqGrid('setSelection',i);
			$("#jianchabuwei").jqGrid('setRowData',i,false,{"data-toggle":"select-check"});
		}
		$(".select-check").remove();
		selectCheck.init($('body'));
	},
	beforeSelectRow: function (rowid, e) { 
	    var $myGrid = $(this), 
	        i = $.jgrid.getCellIndex($(e.target).closest('td')[0]), 
	        cm = $myGrid.jqGrid('getGridParam','colModel'); 
	    return (cm[i].name ==='cb'); 
	} 
	});
}

function addCellAttr_jc(rowId, val, rowData, cm, rdata){
	debugger;
		var bb = [];
		var temp = rowData.bci07.split(",");
		for(var i=0;i<temp.length;i++)
		{
			bb.push({bbd02:rowData.bbd02,bci06:rowData.bci06,bci07:temp[i]});
		}
		return "data-toggle = 'select-check' data = '"+JSON.stringify(bb)+"'";
}

function saveJianchabuwei()
{
	debugger;
	saveJianchaFangfa();
	var jizhangids = $("#jianchabuwei").jqGrid('getGridParam','selarrrow');
	if (jizhangids.length<1){
		layer.msg("请至少选择一个检查部位",
				{
			time : 3000,
			icon : 0,
			skin : 'layui-layer-msg0'
				});
		return false;
	}
	var cc = $("#jianchabuwei_div").attr("data-info");
	cc = cc.split(":")[0]+":";
	var tr_bic07 = [];
	for(var i=0;i<jizhangids.length;i++)
	{
		var rowDatas = $("#jianchabuwei").jqGrid("getRowData",jizhangids[i]);
		if(!rowDatas.bci07){
			layer.msg("请选择 "+rowDatas.bci06 +" 对应的检查方法",
					{
				time : 3000,
				icon : 0,
				skin : 'layui-layer-msg0'
					});
			return false;
		}
		cc += rowDatas.bci06 + "(" + rowDatas.bci07.replace(/,/g,';').replace(/<span>/g,'').replace(/[</span>]/g,'') +"),";
		var temp2 = {};
		temp = $.extend(temp2,rowDatas,true).bci07.split(",");
		debugger;
		for(var j =0;j<temp.length;j++)
		{
			var temp1 = {};
			temp1 = $.extend(temp1,rowDatas,true);
			temp1.bci07 = temp[j];
			tr_bic07.push(temp1);
		}
	}
	$(".select-check").remove();
	$("#" + activeAdviceInputId).val(cc.substring(0, cc.length-1));// 医嘱名称
	$("#" + activeAdviceInputId).focus();
	if(tr_bic07.length>0){
		$("#" + activeAdviceInputId).parents("tr").attr("data-bci07",JSON.stringify(tr_bic07));// 医嘱名称
	}else{
		$("#" + activeAdviceInputId).val("");
		layer.alert("该医嘱没有计价信息，请重新选择！",
				{icon : 0});
		return false;
	}
	layer.close(index111111);
	var bbx01_2 = $("#" + activeAdviceInputId).next().val();
	var robj = {
			bbx01:bbx01_2,
			isManualTrigger:false,
			activeAdviceInputId:activeAdviceInputId
	}
	remaindByBbx01(robj);
	//自动新增行
	//jc_addTrBtnEvent();
}


function saveJianchaFangfa(){
	var $select_check = $(".select-check:visible");
	$select_check.find(".select-save").trigger("click");
}


// 删除事件

function jcDeleteTr()
{
	var params = activeTabParam();
		var arr = $("#"+params.tbodyId+" td:nth-of-type(1) input:checked");
		var trArr = $("#"+params.tbodyId+" tr");
		if (arr.length)
		{
			layer.confirm('确定要删除所选项',
			{
			btn : [
			'确定', '取消'
			],
			icon : 3,
			// 按钮
			}, function()
			{
				$("#"+params.tbodyId+" td:nth-of-type(1) input:checked").each(function()
				{ // 遍历选中的checkbox
					$(this).parents("tr").remove();
				});
				assinGroupNo(params.tableId);
				layer.msg('删除成功',
				{
				time : 2000,
				icon : 1,
				skin : 'layui-layer-msg1'
				});
				if (arr.length == trArr.length)
				{
					JianchaTable();
				}
				adviceCountShow();
			}, function()
			{
			});
		}
		else
		{
			layer.msg('请选择要删除的处方',
			{
			time : 2000,
			icon : 0,
			skin : 'layui-layer-msg0'
			});
		}

}

// 检查编辑、
function editjianchaAdvice(dataObj)
{
	debugger;
	// data=$.extend(dataObj,{'type':"yizhu_edit"});
	var params=activeTabParam();
	var bda01 = dataObj.bda01;
	if (bda01 == "E")
	{
		$('#new_order_list a[href="#'+params.tabId+'"]').tab('show');
		$('#new_order_list a[href="#'+params.tabId+'"]').trigger("click");
		var editArr = $(window.parent.document).find(".yizhu_details");
		for (var i = 0; i < editArr.length; i++)
		{
			var editStr = $(editArr[i]).attr("data-info");
			var editObj = JSON.parse(editStr);
			if (editObj.cbm01 == dataObj.cbm01)
			{
				addJianchaCyxm(editObj);
			}
		}
		$("#dataStr").val("");
		$("#cbm01").val(dataObj.cbm01);
	}
}
// 检查编辑信息填充
function editJianchaSetInfo(obj)
{
	// 加载检查项目对应的检查部位
	$("#" + activeAdviceInputId).val(obj.vaf22);// 医嘱名称
	$("#" + activeAdviceInputId).next().val(obj.bbx01);// bbx01
	$("#" + activeAdviceInputId).next().next().val(0);// bby01
	var curTr=$("#" + activeAdviceInputId).parents("tr");
	getBci07ToEdit(obj.vaf01,curTr);
	curTr.attr({'data-info' : JSON.stringify(obj)});
	curTr.find('.jiancha_pc').find("select option:contains('" + obj.vaf26 + "')").attr('selected', true).trigger("change");// 频次
	curTr.find('.jiancha_zl').val(obj.vaf21);// 总量-
	curTr.find('.jiancha_dw').val(obj.fgross);// 单位？
	curTr.find('.jiancha_yyts').val(obj.vaf17);// 天数
	curTr.find('.jiancha_zxks').find("select option:contains('" + obj.nbck03 + "')").attr('selected', true);// 执行科室？
	curTr.find('.jiancha_zxks').find("select option:contains('" + obj.nbck03 + "')").trigger("change");// 执行科室？
	curTr.find('.jiancha_yymd').text(obj.biw02);// 用药目的--
	curTr.find('.jiancha_yszt').val(obj.vaf23);// 医生嘱托?
	curTr.find('.jiancha_zxfa').val(obj.bef22);// 执行方案?
	curTr.find('.jiancha_zxxz').find('select').val(obj.vaf58 + "").trigger("change");// 执行性质
	if(obj.vaf31){
	curTr.find('.jiancha_jjxz').find('select').val(obj.vaf31 + "").trigger("change");// 计价性质
	}
	// $("#"+activeAdviceInputId).parents("tr").find('.jiancha_yzbz').val(obj.vaf55);//医嘱备注
	curTr.find('.jiancha_gyzx').val(obj.bck01);// 给药执行
	
	if(obj.type !="histroy"){
	curTr.find('.jiancha_kzks').find("select option:contains('" + obj.bck03c + "')").attr('selected', true);// 开嘱科室--
	curTr.find('.jiancha_kzks').find("select option:contains('" + obj.bck03c + "')").trigger("change");// 开嘱科室--
	curTr.find('.jiancha_kzys').find("select").val(obj.bce01a).trigger("change");// 开嘱医师--
//	curTr.find('.jiancha_kzys').find("option:contains('" + obj.bce03a + "')").attr('selected', true);// 开嘱医师--
//	curTr.find('.jiancha_kzys').find("option:contains('" + obj.bce03a + "')").trigger("change");// 开嘱医师--
	}
	$("#cover").addClass("hidden");
	$("#" + activeAdviceInputId).focus();
	adviceCountShow();
}

function jcHover()
{
	var params = activeTabParam();
	$("#"+params.tbodyId+" tr").hover(function()
	{
		var tempId = $(this).find(".jiancha_yznr").attr("id");
		activeAdviceInputId = tempId;
	});
}
// 治疗品根据频次、单次用量和天数来计算总量和给药次数
function jcpinciChange()
{
	$('.jiancha_pc').change(function()
	{
		jianchaZongliang();
	})
}
function jianchaZongliang()
{
	var pinciVal = $("#" + activeAdviceInputId).parents("tr").find('.jiancha_pc').find("select option:selected").attr("id");
	var tianshuinput = $("#" + activeAdviceInputId).parents("tr").find('.jiancha_yyts');
	var tianshuVal = ToCDB(tianshuinput.val(),tianshuinput);
	if (pinciVal == '0')
	{
		var zl = tianshuVal;
		$("#" + activeAdviceInputId).parents("tr").find('.jiancha_zl').val(zl);// 总量
	}
	else
	{
		var zl = pinciVal * tianshuVal;
		$("#" + activeAdviceInputId).parents("tr").find('.jiancha_zl').val(zl);// 总量
	}

}
var selectCheck = (function(){
	'use strict';
	var
		configMap = {
			main_html:String()+
					'<div class="select-check">'+
						'<ul class="select-check-group list-group"></ul>'+
						'<div class="select-check-option">'+
							'<a class="btn btn-transparent transparent-spring select-all">全选</a>'+
							'<a class="btn btn-transparent transparent-spring select-reverse">反选</a>'+
							'<a class="btn btn-transparent transparent-spring select-empty">清空</a>'+
							'<a class="btn btn-transparent transparent-spring select-save">确定</a>'+
						'</div>'+
					'</div>',
		},
		jqueryMap = {},
		stateMap = {
			$container:null,
			pos:{
				left:'',
				top:'',
			},
			direction:'down',
			listData:[],
			trRowData:[]
		},
		setJqueryMap,setDomEvent,setPos,
		setSelectGroup,setDirection,
		hide,bci08Isonly,distory,
		configModular,init;
	setJqueryMap = function($container){
		var $selectContainer = $container.find('.select-check');
		jqueryMap = {
			$container:$container,
			$selectContainer:$selectContainer,
			$selectGroup:$selectContainer.children('.select-check-group'),
			$selectAll:$selectContainer.find('.select-all'),
			$selectReverse:$selectContainer.find('.select-reverse'),
			$selectSave:$selectContainer.find('.select-save'),
			$selectEmpty:$selectContainer.find('.select-empty'),
		}
		setDomEvent();
	}
	setDomEvent = function(){
		/*全选*/
		jqueryMap.$selectAll.on('click.sp.selectCheck', function () {
			jqueryMap.$selectGroup.find('.checkbox-default').prop('checked',true);
		})
		/*反选*/
		jqueryMap.$selectReverse.on('click.sp.selectCheck', function () {
			jqueryMap.$selectGroup.find('.checkbox-default').each(function () {
				if($(this).prop('checked')==true){
					$(this).prop('checked',false);
				}else{
					$(this).prop('checked',true);
				}
			})
		})
		/*清空*/
		jqueryMap.$selectEmpty.on('click.sp.selectCheck', function () {
			jqueryMap.$selectGroup.find('.checkbox-default').prop('checked',false);
		})
		/*确定*/
		jqueryMap.$selectSave.on('click.sp.selectCheck', function () {
			var arr = [];
			jqueryMap.$selectGroup.find('.checkbox-default').each(function(){
				if(!$(this).prop('checked')){
					return;
				}else {
					var obj = $(this).parents('li').data('methodItem');
					arr.push(obj);
				}
			});
			stateMap.$trigger.empty();
			for(var i= 0,len=arr.length;i<len;i++){
				var oSpan = $('<span></span>');
				oSpan.data(arr[i]);
				if(i==len-1){
					oSpan.text(arr[i].bci07);
					stateMap.$trigger.append(oSpan);
				}else{
					oSpan.text(arr[i].bci07+',');
					stateMap.$trigger.append(oSpan);
				}
				stateMap.$trigger.data('methodSelected',arr);
			}
			jqueryMap.$selectContainer.slideUp(150);
//			$(document).trigger('click.sp.selectCheck');
			return arr;
		})
		/*触发下拉元素绑定事件*/
		$(jqueryMap.$container).off('click.sp.selectCheck','[data-toggle="select-check"]').on('click.sp.selectCheck','[data-toggle="select-check"]', function (e) {
			if(jqueryMap.$selectContainer.is(":visible")){
				jqueryMap.$selectSave.trigger("click");
			}else{
				var evt = e||window.event;
				evt.stopPropagation();
				var pos = $(this).offset();
				var targetHeigth = $(this).outerHeight();
				var rowid = $(this).parents("tr").attr("id");
				var trRowData = $("#jianchabuwei").jqGrid("getRowData", rowid);
				stateMap.trRowData = trRowData;
				debugger;
				configModular({
					$trigger:$(this),
					pos:{
						top:pos.top+targetHeigth,
						left:pos.left,
					},
					listData:JSON.parse($(this).attr("data"))
				});
				/*判断并设置方向*/
				setDirection(this);
				setPos();
				if(jqueryMap.$selectContainer.css('display')=='none'){
					$(jqueryMap.$container).trigger('click.sp.selectCheck');
				}
				jqueryMap.$selectContainer.slideDown(150);
				return false;
			}
		})
		/*下拉框阻止冒泡*/
		jqueryMap.$selectContainer.on('click.sp.selectCheck', function (e) {
			var evt = e||window.event;
			evt.stopPropagation();
		})
		/*点击document隐藏下拉选择框*/
		$(document).on('click.sp.selectCheck',function(){
			if(jqueryMap.$selectContainer.is(":visible")){
				jqueryMap.$selectSave.trigger("click");
			}else{
				
				jqueryMap.$selectContainer.slideUp(150);
			}
//			jqueryMap.$selectContainer.slideUp(150);
		})
		/*点击下拉框时间，根据下拉框只判断该选项是互斥还是共存*/
		$(document).on('change.sp.selectCheck','.bci08-isonly',function(){
			var that = this;
			bci08Isonly(that);
		})
		
	}
	/*判断并设置selectCheck的方向*/
	setDirection = function(obj){
		var objBottomToTopHeight = $(obj).offset().top+$(obj).outerHeight();
		var windowHeight = window.innerHeight;
		var selectCheckHeight = $('.select-check').outerHeight();
		if(windowHeight<objBottomToTopHeight+selectCheckHeight){
			stateMap.direction  = 'up';
		}else{
			stateMap.direction = 'down';
		}
		/*设置列表容器的最大高度，防止下拉框弹到界面外边*/
		if(stateMap.direction == 'up'){
			if($(obj).offset().top<selectCheckHeight){
				var currHeight = $(obj).offset().top-42;
				$('.select-check-group').css('max-height',currHeight);
			}
		}else{
			$('.select-check-group').css('max-height','300px');
		}
	};
	/*设置selectCheck的位置*/
	setPos = function(){
		debugger;
		if(stateMap.direction == 'down'){
			jqueryMap.$selectContainer.css({
				'left':stateMap.pos.left,
				'top':stateMap.pos.top,
			});
		}else{
			jqueryMap.$selectContainer.css({
				'left':stateMap.pos.left+6,
				'top':stateMap.pos.top-30-$('.select-check').outerHeight(),
			});
		}
	};
	/*渲染selctCheck列表数据*/
	setSelectGroup = function(){
		jqueryMap.$selectGroup.empty();
		var groupData = stateMap.trRowData;
		var bbx01 = $("#" + activeAdviceInputId).next().val();
		var showbci07  = groupData.bci07;
		showbci07 = showbci07.replace(/,/g,';').replace(/<span>/g,'').replace(/[</span>]/g,'');
		showbci07 = showbci07.split(";");
		var param = {
				bbx01 : bbx01,
				bci06 : groupData.bci06,
				bbc01:groupData.bbc01
		}
		$.get(rootUrl + "/basicinformationquery/getBciInfo",{params:JSON.stringify(param)}, function(json){
			var list = json.list;
			var isonly = false;
			for(var i= 0,len= list.length;i<len;i++){
				if(list[i].bci08 == 0){
					isonly = true;
				}
				
				var oLi = $('<li class="list-group-item"></li>');
				var oDiv = String()+
				'<div class="checkbox" >'+
				'<label data-bci08 = '+list[i].bci08+'>'+
				'<input type="checkbox" name="a'+i+'" value="'+list[i].isdef+'" class="checkbox-default bci08-isonly" />'+
				'<span>'+list[i].bci07+'</span>'+
				'</label>'+
				'</div>';
				oLi.html(oDiv);
				jqueryMap.$selectGroup.append(oLi);
				jqueryMap.$selectGroup.children('li').eq(i).data('methodItem',list[i]);
				debugger;
				//展示选中的
				for(var k=0;k<showbci07.length;k++){
					if(list[i].bci07 ==showbci07[k] ){
						 $(oLi).find(".bci08-isonly").prop('checked',true);
					}
				}
			}
			if(isonly){
				jqueryMap.$selectAll.hide();
				jqueryMap.$selectReverse.hide();
			}else{
				jqueryMap.$selectAll.show();
				jqueryMap.$selectReverse.show();
			}
		})
	};
	bci08Isonly = function(that){
		debugger;
	   var bci08 = $(that).parents("label").attr("data-bci08");
	   if( bci08 == 1){  //共存，如果选中则取消选中当中所有互斥的
		   var ali =  $(that).parents(".list-group-item").siblings();
		   ali.each(function(i,e){
			   if($(e).find("label").attr("data-bci08") == 0){
				   $(e).find(".bci08-isonly").prop('checked',false);
			   }
		   })
		   
		   
	   }else if(bci08 == 0){ //互斥，如果选中则取消当前所有选中的
		  $(that).parents(".list-group-item").siblings().find(".bci08-isonly").prop('checked',false);
	   }
	  
	}
	/*隐藏组件*/
	hide = function () {
		debugger;
		jqueryMap.$selectContainer.slideUp(150);
	}
	configModular = function (options) {
		$.extend(stateMap,options);
		setSelectGroup();
	};
	init = function($container){
		debugger;
		stateMap.$container = $container;
		$container.append(configMap.main_html);
		setJqueryMap($container);
	};
	return {
		init         : init,
		hide         : hide,
		configModular: configModular
	}
}());
